/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.unipampa.personagem;
import br.edu.unipampa.*;
import br.edu.unipampa.cenario.Cenario;
import br.edu.unipampa.cenario.Lugar;
import br.edu.unipampa.recurso.Recurso;
import br.edu.unipampa.recurso.Equipamento;
import java.util.ArrayList;

/**
 *
 * @author Fernando Lima
 */
public class Mensageiro extends Personagem {

    public Mensageiro(String nome, String descricao, int ataque, int defesa) {

        super(nome, descricao, ataque, defesa);

        cantil = new Equipamento();
        cantil.utilizarEquipamento(true);

    }
    private String posicaoAtual;
    private int indice;
    private Equipamento cantil;
    

    public int getIndice() {
        return indice;
    }

    public void setIndice(int indice) {
        this.indice = indice;
    }

    public String getPosicaoAtual() {
        return posicaoAtual;
    }

    public void setPosicaoAtual(String posicaoAtual) {
        this.posicaoAtual = posicaoAtual;
    }


   /* public void morrer() {
        if (super.getVida() == 0 || super.getVida() < 0) {

            super.setStatus(false);
        } else {
            super.setVida(0);
            super.setStatus(true);
        }
    }*/

   public int ganharVida(int vida) {

        if (super.getVida() <= 0) {
            morrer();
        } else {
            if (super.getVida() + vida > 100) {
                super.setVida(100);
            } else {
                super.setVida(getVida() + vida);
            }

        }
        return super.getVida();
    }

    public boolean perderVida(int forca) {

        if (morrer()) {
            super.setVida(super.getVida() - forca);
            return super.isStatus();
        } else {
            super.setVida(0);
            return super.isStatus();
        }
    }

    public String usarHabilidade(Lugar l) {
        perderVida(10);

        return l.getClima();
    }

    
     public void andar(Cenario c, int indice) {
        perderVida(10);
        setPosicaoAtual(c.getLocal(indice).getNome());
        setIndice(indice);
        System.out.println(getPosicaoAtual());

    }

    public void atacar(Personagem x) {
        if (x.getDefesa() > super.getAtaque()) {
            super.setStatus(false);
        } else {
            super.setStatus(true);
            perderVida(30);
        }
    }

   /* public void recolherRecurso(Cenario c) {
        String ver = c.getLocal(getIndice()).getItem();
        switch (ver) {
            case "arma":
                Arma s = c.getLocal(indice).findArma(c, this);
                c.getLocal(indice).removeArma(s);
            //remover do cenario
            //adiciona na  bolsa
        }
    }

* */
    public String conversar(Personagem y) {
        return y.getDescricao();
    }

    public void encherCantil() {
        if (cantil.getEquipamento() == false) {
            cantil.utilizarEquipamento(true);
           
        
        }

    }

    public boolean beber() {
        if (cantil.getEquipamento() == true) {
            ganharVida(10);
            cantil.utilizarEquipamento(false);
            return true;
        }return false;

    }

    public void comer() {
        //retira a comida da bolsa
        ganharVida(15);
    }

    public boolean dormir() {
        ganharVida(20);
        return true;
    }

    
}
